]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
screenShield: don't use Bin for BackgroundManager container
authorRay Strode <rstrode@redhat.com>
Wed, 20 Feb 2013 02:51:41 +0000 (21:51 -0500)
committerRay Strode <rstrode@redhat.com>
Wed, 20 Feb 2013 02:54:00 +0000 (21:54 -0500)
St.Bin() really only expects one child at a time, and the
BackgroundManager will add two. This can cause assertion
failures when destroying one of the background actors.

https://bugzilla.gnome.org/show_bug.cgi?id=694227

js/ui/screenShield.js

index 0edb7c3ea23ad442de796b5e098050690486fa2e..5ab593f4f7a9df0174644fe43d75db261893c4d7 100644 (file)
@@ -540,7 +540,10 @@ const ScreenShield = new Lang.Class({
     _createBackground: function(monitorIndex) {
         let bin = new St.Bin({ style_class: 'screen-shield-background' });
 
-        let bgManager = new Background.BackgroundManager({ container: bin,
+        let group = new Meta.BackgroundGroup();
+        bin.child = group;
+
+        let bgManager = new Background.BackgroundManager({ container: group,
                                                            monitorIndex: monitorIndex,
                                                            effects: Meta.BackgroundEffects.BLUR | Meta.BackgroundEffects.DESATURATE });